Thuật toán phân cụm là gì? Các bài báo nghiên cứu khoa học

Thuật toán phân cụm là kỹ thuật học máy không giám sát giúp chia dữ liệu thành các nhóm sao cho điểm trong cùng nhóm có đặc điểm tương đồng cao. Chúng hoạt động dựa trên khoảng cách, mật độ hoặc mô hình thống kê để phát hiện cấu trúc ẩn mà không cần nhãn đầu vào.

Khái niệm thuật toán phân cụm

Thuật toán phân cụm (clustering algorithm) là nhóm thuật toán trong học máy không giám sát nhằm phân chia tập dữ liệu thành nhiều nhóm sao cho các điểm dữ liệu trong cùng một cụm có đặc điểm tương đồng cao, còn điểm thuộc các cụm khác nhau thì có đặc điểm khác biệt rõ rệt. Đây là công cụ quan trọng trong khai phá dữ liệu khi chưa có nhãn phân loại, cho phép mô hình phát hiện cấu trúc ẩn trong dữ liệu.

Phân cụm không yêu cầu đầu vào là các nhãn đã được định nghĩa, mà thay vào đó, nó dựa trên các tiêu chí đo độ tương đồng như khoảng cách, mật độ hoặc phân phối xác suất để nhóm dữ liệu. Kết quả phân cụm có thể được sử dụng như bước tiền xử lý hoặc khai thác thông tin trong các tác vụ như phân đoạn ảnh, phân tích văn bản, gợi ý sản phẩm, sinh học phân tử và nhiều lĩnh vực liên ngành khác.

Một số đặc điểm nổi bật của phân cụm:

  • Không giám sát, không yêu cầu nhãn dữ liệu
  • Cho phép phát hiện nhóm dữ liệu tiềm ẩn trong không gian đa chiều
  • Kết quả có thể được đánh giá bằng chỉ số nội tại hoặc so với phân cụm lý tưởng (nếu có)

Mục tiêu và nguyên lý hoạt động

Mục tiêu của phân cụm là tối đa hóa sự tương đồng trong nội bộ cụm (intra-cluster similarity) và đồng thời tối thiểu hóa sự tương đồng giữa các cụm (inter-cluster dissimilarity). Điều này thường được thể hiện bằng các hàm mục tiêu hoặc hàm lỗi mà thuật toán cố gắng tối ưu trong quá trình học.

Đối với các thuật toán dựa trên khoảng cách như K-means, một chỉ số phổ biến là tổng sai số bình phương (SSE - Sum of Squared Errors), được định nghĩa như sau:

SSE=i=1kxCixμi2SSE = \sum_{i=1}^{k} \sum_{x \in C_i} \|x - \mu_i\|^2

Trong đó: kk là số cụm, CiC_i là tập hợp điểm trong cụm thứ ii, xx là điểm dữ liệu, và μi\mu_i là trung tâm cụm thứ ii. Thuật toán sẽ lặp đi lặp lại quá trình gán điểm và cập nhật trung tâm cho đến khi SSE đạt giá trị cực tiểu hoặc hội tụ.

Tùy vào từng thuật toán, nguyên lý hoạt động có thể thay đổi, ví dụ thuật toán dựa trên mật độ như DBSCAN hoạt động dựa trên định nghĩa điểm lõi (core point) và vùng lân cận mật độ đủ, còn thuật toán phân cấp dựa trên cấu trúc cây phân cấp dữ liệu. Sự lựa chọn nguyên lý phù hợp phụ thuộc vào đặc điểm dữ liệu và mục tiêu phân tích.

Phân loại thuật toán phân cụm

Các thuật toán phân cụm được chia thành nhiều nhóm dựa trên cách tiếp cận và cấu trúc cụm mà chúng tìm kiếm. Dưới đây là các loại phổ biến nhất trong thực tế và nghiên cứu:

  • Phân cụm phân vùng (Partitioning): chia dữ liệu thành kk cụm rời nhau. Ví dụ: K-means, K-medoids.
  • Phân cụm phân cấp (Hierarchical): tạo cây phân cấp mô tả mối quan hệ giữa các điểm. Ví dụ: Agglomerative, Divisive.
  • Phân cụm mật độ (Density-based): xác định cụm dựa vào vùng có mật độ điểm cao. Ví dụ: DBSCAN, OPTICS.
  • Phân cụm dựa trên lưới (Grid-based): chia không gian dữ liệu thành lưới. Ví dụ: STING, CLIQUE.
  • Phân cụm mô hình (Model-based): giả định dữ liệu tuân theo phân phối xác suất. Ví dụ: Gaussian Mixture Models (GMM).

Mỗi loại thuật toán có ưu điểm và nhược điểm riêng. Ví dụ, phân cụm phân vùng nhanh nhưng không phù hợp với cụm có hình dạng phi tuyến, trong khi phân cụm mật độ phát hiện tốt cụm có hình dạng bất kỳ nhưng khó lựa chọn tham số.

Bảng dưới đây tóm tắt so sánh một số đặc trưng của các nhóm thuật toán:

Loại thuật toán Ví dụ Yêu cầu biết số cụm Phát hiện cụm phi tuyến Xử lý nhiễu
Phân vùng K-means, K-medoids Không Kém
Phân cấp Agglomerative Không Trung bình Kém
Mật độ DBSCAN Không Tốt Tốt
Mô hình GMM Tốt Trung bình

K-means và các biến thể

K-means là một trong những thuật toán phân cụm cổ điển và được sử dụng rộng rãi nhất. Nó hoạt động bằng cách chia dữ liệu thành kk cụm bằng cách tối thiểu hóa hàm mất mát SSE như đã mô tả ở trên. Thuật toán khởi tạo kk trung tâm ngẫu nhiên, sau đó lặp lại hai bước: gán mỗi điểm dữ liệu vào cụm có trung tâm gần nhất và cập nhật trung tâm cụm bằng trung bình các điểm thuộc cụm đó.

Một hạn chế lớn của K-means là nhạy cảm với giá trị khởi tạo. Các trung tâm ban đầu không hợp lý có thể dẫn đến hội tụ về nghiệm cục bộ. Để khắc phục, thuật toán K-means++ được đề xuất, trong đó việc chọn trung tâm ban đầu được thực hiện có chủ đích dựa trên xác suất phân bố theo khoảng cách, giúp cải thiện đáng kể độ ổn định của kết quả (Arthur & Vassilvitskii, 2007).

K-means phù hợp với dữ liệu tuyến tính, cụm hình cầu và không chồng lấn. Tuy nhiên, trong thực tế, các cụm có thể có hình dạng phức tạp, mật độ không đồng đều hoặc chứa nhiễu. Trong những trường hợp đó, các thuật toán khác như DBSCAN hoặc GMM thường được ưu tiên sử dụng.

Thuật toán DBSCAN và phân cụm dựa trên mật độ

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) là một thuật toán phân cụm không yêu cầu biết trước số lượng cụm, được thiết kế để phát hiện các vùng dữ liệu có mật độ cao và tách biệt điểm nhiễu. DBSCAN hoạt động dựa trên khái niệm “vùng lân cận mật độ đủ lớn” thay vì khoảng cách giữa các cụm trung tâm như trong K-means.

Thuật toán sử dụng hai tham số chính: ε\varepsilon (epsilon) là bán kính tìm kiếm vùng lân cận, và MinPts là số điểm tối thiểu trong vùng này để được xem là một vùng mật độ cao. Một điểm dữ liệu được gọi là "core point" nếu trong bán kính ε\varepsilon có ít nhất MinPts điểm. Các điểm lân cận của core point cũng sẽ trở thành một phần của cụm nếu chúng nằm trong vùng ảnh hưởng đó.

DBSCAN phân biệt rõ ba loại điểm:

  • Core point: điểm có đủ mật độ trong ε\varepsilon-neighborhood
  • Border point: nằm trong ε\varepsilon-neighborhood của core point nhưng không phải core point
  • Noise point: không thuộc bất kỳ cụm nào

DBSCAN hiệu quả với cụm có hình dạng phi tuyến, kích thước không đồng đều và có khả năng loại bỏ nhiễu. Tuy nhiên, việc chọn đúng giá trị ε\varepsilon và MinPts không luôn dễ dàng và có thể ảnh hưởng lớn đến kết quả phân cụm. Một cách chọn ε\varepsilon phổ biến là dùng biểu đồ khoảng cách k-láng giềng (k-distance graph) để xác định điểm “gãy khúc” rõ ràng.

Phân cụm phân cấp (Hierarchical Clustering)

Phân cụm phân cấp xây dựng một cấu trúc dạng cây (dendrogram) biểu diễn mối quan hệ lồng nhau giữa các điểm dữ liệu. Thuật toán không cần biết trước số lượng cụm và rất trực quan để khám phá cấu trúc phân tầng trong dữ liệu.

Có hai chiến lược chính:

  • Agglomerative (gộp dần): khởi đầu từ mỗi điểm là một cụm riêng biệt, sau đó lần lượt gộp hai cụm gần nhất cho đến khi chỉ còn một cụm duy nhất.
  • Divisive (chia dần): bắt đầu từ một cụm duy nhất chứa toàn bộ dữ liệu, sau đó tách dần thành các cụm nhỏ hơn.

Khoảng cách giữa các cụm được xác định bằng nhiều phương pháp:

  • Liên kết đơn (single linkage): khoảng cách giữa hai điểm gần nhất của hai cụm
  • Liên kết đầy đủ (complete linkage): khoảng cách giữa hai điểm xa nhất
  • Liên kết trung bình (average linkage): trung bình khoảng cách giữa tất cả các cặp điểm

Phân cụm phân cấp có độ linh hoạt cao và cung cấp cái nhìn trực quan tốt, nhưng có chi phí tính toán lớn – thường là O(n3)O(n^3), không phù hợp với dữ liệu lớn nếu không áp dụng chiến lược tối ưu hóa.

Đánh giá chất lượng phân cụm

Do phân cụm là một bài toán không giám sát, việc đánh giá chất lượng cụm là một vấn đề quan trọng và không dễ dàng. Có hai loại chỉ số đánh giá chính: chỉ số nội tại (dựa vào đặc điểm cụm) và chỉ số ngoại tại (so sánh với nhãn có sẵn nếu có).

Một số chỉ số đánh giá nội tại phổ biến:

  • Silhouette Coefficient: đánh giá mức độ phù hợp của mỗi điểm với cụm được gán so với cụm gần nhất kế tiếp.
  • Dunn Index: tỉ lệ giữa khoảng cách nhỏ nhất giữa các cụm với đường kính lớn nhất của cụm bất kỳ.
  • Calinski-Harabasz Index: tỉ lệ giữa phương sai giữa cụm và trong cụm.

Ví dụ công thức tính hệ số Silhouette:

s(i)=b(i)a(i)max{a(i),b(i)}s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}}

Trong đó, a(i)a(i) là khoảng cách trung bình giữa điểm ii và các điểm trong cùng cụm, còn b(i)b(i) là khoảng cách trung bình đến cụm gần nhất khác. Giá trị s(i)s(i) nằm trong [-1, 1], giá trị càng gần 1 cho thấy phân cụm càng hiệu quả.

Ngoài ra, nếu có nhãn dữ liệu thực (ground truth), ta có thể sử dụng các chỉ số ngoại tại như Adjusted Rand Index (ARI), Normalized Mutual Information (NMI) hoặc Fowlkes-Mallows Index để đánh giá độ tương đồng giữa nhãn và kết quả phân cụm.

Ứng dụng thực tiễn của phân cụm

Phân cụm được áp dụng trong nhiều lĩnh vực khác nhau nhờ khả năng phát hiện nhóm tự nhiên trong dữ liệu. Trong thị trường, doanh nghiệp sử dụng phân cụm để phân khúc khách hàng dựa trên hành vi mua hàng, độ tuổi, vị trí địa lý. Trong sinh học, thuật toán giúp phân nhóm gen có chức năng tương đồng hoặc xác định loại tế bào dựa trên biểu hiện gen.

Trong thị giác máy tính, phân cụm được ứng dụng trong phân đoạn ảnh, nhận dạng đối tượng và trích xuất đặc trưng. Trong xử lý ngôn ngữ tự nhiên, nó hỗ trợ phân nhóm văn bản, phát hiện chủ đề và xây dựng hệ thống gợi ý nội dung.

Ứng dụng phổ biến:

  • Phân tích thị trường: phân đoạn khách hàng, định vị thương hiệu
  • Sinh học phân tử: phân tích RNA, phân nhóm gen
  • An ninh mạng: phát hiện bất thường, phân tích hành vi
  • Y tế: phân tích hồ sơ bệnh án, nhóm triệu chứng

Nhiều thư viện mã nguồn mở như Scikit-learn (Python) và cluster (R) hỗ trợ đầy đủ các thuật toán phân cụm, giúp việc triển khai trở nên dễ dàng hơn trong thực tiễn.

Hạn chế và thách thức

Mặc dù hữu ích, các thuật toán phân cụm vẫn tồn tại nhiều hạn chế. Hầu hết các phương pháp nhạy cảm với tham số đầu vào, ví dụ như số cụm kk trong K-means hoặc ε\varepsilon trong DBSCAN. Việc chọn sai giá trị có thể dẫn đến kết quả phân cụm sai lệch.

Phân cụm cũng khó áp dụng hiệu quả với dữ liệu có chiều cao (high-dimensional data) do hiện tượng "lời nguyền chiều không gian" làm giảm đáng kể hiệu quả của các tiêu chí đo khoảng cách. Ngoài ra, khó đánh giá chất lượng phân cụm trong điều kiện không có ground truth.

Các hướng nghiên cứu mới tập trung vào:

  • Phát triển thuật toán phân cụm thích nghi với dữ liệu phức tạp
  • Kết hợp phân cụm với học sâu (deep clustering)
  • Phân cụm bán giám sát hoặc tích hợp dữ liệu từ nhiều nguồn
  • Phân cụm thời gian thực cho dữ liệu streaming

Tài liệu tham khảo

  1. Jain, A.K. (2010). "Data clustering: 50 years beyond K-means." Pattern Recognition Letters. https://doi.org/10.1016/j.patrec.2009.09.011
  2. Arthur, D., & Vassilvitskii, S. (2007). "K-means++: The advantages of careful seeding." Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms. https://proceedings.mlr.press/v2/arthur07a/arthur07a.pdf
  3. Schubert, E. et al. (2017). "DBSCAN revisited, revisited." ACM Transactions on Database Systems. https://doi.org/10.1145/3068335
  4. Pedregosa, F. et al. (2011). "Scikit-learn: Machine Learning in Python." Journal of Machine Learning Research. https://jmlr.csail.mit.edu/papers/v12/pedregosa11a.html
  5. Kaufman, L., & Rousseeuw, P.J. (2009). Finding Groups in Data: An Introduction to Cluster Analysis. Wiley.

Các bài báo, nghiên cứu, công bố khoa học về chủ đề thuật toán phân cụm:

Phương pháp phân tích định lượng điểm khuỷu cho số lượng cụm tối ưu trong thuật toán phân cụm Dịch bởi AI
EURASIP Journal on Wireless Communications and Networking - - 2021
Tóm tắtPhân cụm, một phương pháp học máy truyền thống, đóng vai trò quan trọng trong phân tích dữ liệu. Hầu hết các thuật toán phân cụm phụ thuộc vào một số lượng cụm chính xác đã được xác định trước, trong khi trên thực tế, số lượng cụm thường là không thể đoán trước. Mặc dù phương pháp Khuỷu tay là một trong những phương pháp thường được sử dụng để phân biệt số c...... hiện toàn bộ
Thuật toán phân cụm mờ xác xuất C-mean dựa trên cải tiến của thuật toán tìm kiếm Cuckoo cho bài toán phân cụm dữ liệu
Tạp chí Nghiên cứu Khoa học và Công nghệ quân sự - Số CSCE6 - Trang 3-15 - 2022
Thuật toán phân cụm mờ xác xuất C-mean (PFCM) là một thuật toán phân cụm mạnh mẽ. Nó là sự kết hợp của hai thuật toán phân cụm mờ C-mean (FCM) và phân cụm xác xuất C-mean (PCM). Thuật toán PFCM giải quyết các điểm yếu của FCM trong việc xử lý với dữ liệu có nhiều nhiễu và các điểm yếu của PCM trong trường hợp các cụm chồng lấp. Tuy nhiên, PFCM vẫn có một điểm yếu chung là thuật toán phân cụm dễ rơ...... hiện toàn bộ
#Possibilistic fuzzy c-means; Cuckoo Search; Improved Cuckoo Search; Fuzzy clustering.
Nghiên cứu và áp dụng thuật toán phân tích chuyên sâu để lựa chọn giải pháp EOR tối ưu cho các mỏ dầu khí ở Việt Nam
Khoa học Kỹ thuật Mỏ Địa chất - - Trang 17-29 - 2021
Áp dụng các phương pháp nâng cao hệ số thu hồi dầu (EOR) cho các mỏ dầu khí luôn tiềm ẩn nhiều rủi ro về kỹ thuật và kinh tế do các dự án EOR chịu ảnh hưởng của nhiều yếu tố như: cấu trúc vỉa chứa, thành hệ, tính chất địa chất, thông số công nghệ mỏ, công nghệ khai thác, công nghệ của phương pháp EOR,... Có một số phương pháp EOR đã áp dụng thành công trên thế giới nhưng khi áp dụng vào mỏ cụ thể ...... hiện toàn bộ
#Nâng cao hệ số thu hồi dầu #Phân tích chuyên sâu #Phương pháp chuyên gia #Thuật toán phân cụm #Tiêu chí lựa chọn
Phân đoạn sẹo trên da dựa trên phát hiện độ nổi bật Dịch bởi AI
The Visual Computer - Tập 39 - Trang 4887-4899 - 2022
Việc phân đoạn hiệu quả các vết sẹo trên da là một phần quan trọng trong việc định danh sẹo hợp pháp. Quy trình đánh giá hiện tại chủ yếu tập trung vào việc kiểm tra bằng mắt, và độ chính xác cần được cải thiện. Bài báo này đề xuất một phương pháp phân đoạn sẹo không giám sát dựa trên phát hiện độ nổi bật, có khả năng trích xuất chính xác các vết sẹo trong các điều kiện sẹo phức tạp. Bản đồ đặc tr...... hiện toàn bộ
#phân đoạn sẹo #phát hiện độ nổi bật #thuật toán phân cụm #xử lý hình ảnh #pháp y
Một chỉ số đánh giá hiện tượng chặn không tham chiếu cho video B-DCT Dịch bởi AI
Zhejiang University Press - - 2006
Bài báo này trình bày một chỉ số đánh giá hiện tượng chặn không tham chiếu mới cho video nén B-DCT. Trước tiên, chúng tôi giới thiệu một định nghĩa mới về hiện tượng chặn và một phương pháp mới để đo lường hiện tượng chặn theo cảm nhận dựa trên hệ thống thị giác con người, xem xét đặc điểm che lấp độ sáng và che lấp hoạt động. Sau đó, chúng tôi đề xuất một khái niệm mới về cụm hiện tượng chặn và t...... hiện toàn bộ
#hiện tượng chặn #video B-DCT #đánh giá không tham chiếu #thuật toán phân cụm #hệ thống thị giác con người
Thuật toán phân cụm di truyền cho bài toán nhóm máy và linh kiện Dịch bởi AI
Journal of Intelligent Manufacturing - - 1996
Nghiên cứu này trình bày việc sử dụng một thuật toán di truyền để phân nhóm các linh kiện và máy móc. Một phân tích chi tiết được thực hiện so sánh kết quả của GCA với phân tích cụm liên kết đơn, phân cụm theo thứ tự xếp hạng, và thuật toán phân cụm trực tiếp. GCA cũng được so sánh với một số heuristics hình thành tế bào bổ sung được mô tả trong tài liệu gần đây, bao gồm GRAPHICS, MODROC và một he...... hiện toàn bộ
#thuật toán di truyền #phân cụm #linh kiện #máy móc #tính hình thành tế bào #heuristics
Một phương pháp phân nhóm kết hợp để nhận diện các họ protein trong 114 bộ gen vi sinh vật Dịch bởi AI
BMC Bioinformatics - Tập 5 - Trang 1-14 - 2004
Việc phân nhóm các protein thành các cụm dựa trên chuỗi là một bước cơ bản trong nhiều phân tích sinh tin học (ví dụ, dự đoán cấu trúc hoặc chức năng dựa trên tính tương đồng). Các phương pháp phân cụm tiêu chuẩn như phân cụm theo liên kết đơn ghi lại lịch sử của các hình thái cụm theo ngưỡng, nhưng trên thực tế, tính hữu ích của chúng bị hạn chế vì các chuỗi không liên quan gia nhập các cụm trước...... hiện toàn bộ
#Phân nhóm #protein #họ protein #sinh tin học #PDB #thuật toán Phân cụm Markov #phân loại sinh hệ
Cải thiện ước lượng vị trí và dự đoán sự kiện thảm họa bằng cách sử dụng phân cụm không gian-thời gian dựa trên mật độ với GPS Dịch bởi AI
Multimedia Tools and Applications - Tập 79 - Trang 3929-3941 - 2019
Quản lý thảm họa bao gồm việc thu thập thông tin thảm họa tự nhiên theo thời gian thực, triển lãm, tập hợp, phân tích, dự báo và minh họa. Đã có sự quan sát rằng sự tiến bộ về thông tin kiến thức dưới hình thức Hệ thống thông tin địa lý (GIS). Phương pháp quản lý thảm họa cho các sự kiện tự nhiên bao gồm GIS và khai thác dữ liệu không gian, nhằm nhận diện vị trí các sự kiện tự nhiên và cung cấp cá...... hiện toàn bộ
#quản lý thảm họa #dự đoán sự kiện tự nhiên #GPS #GIS #phân cụm không gian-thời gian #thuật toán di truyền
Một thuật toán phân phối công việc phi tập trung dựa trên cụm cho môi trường đám mây quy mô lớn Dịch bởi AI
EURASIP Journal on Wireless Communications and Networking - Tập 2016 - Trang 1-8 - 2016
Sự phát triển đáng kể của điện toán đám mây trong vài năm qua và khả năng đã được chứng minh trong việc xử lý khối lượng công việc lập trình web, đang thúc đẩy các nhà nghiên cứu xem xét liệu các đám mây có phù hợp để thực hiện các tính toán quy mô lớn hay không. Cân bằng tải đám mây là một trong những giải pháp nhằm cung cấp dịch vụ đám mây đáng tin cậy và có khả năng mở rộng. Đặc biệt, việc cân ...... hiện toàn bộ
#đám mây #cân bằng tải #phân phối công việc #thuật toán phi tập trung #truyền phát đa phương tiện
Tổng số: 40   
  • 1
  • 2
  • 3
  • 4